#!/usr/bin/ruby
include "./numbers.sf"
var t = True()
var f = False()
var r1 = If(t).then(one).else(two)
say r1
var r2 = If(f).then(one).else(two)
say r2
class NuclearMissile {
method launch { "<<BOOM>>" }
}
class NoAction {
method to_s {
"<no action>"
}
}
class Option1 {
method result {
NuclearMissile().launch
}
}
class Option2 {
method result {
NoAction()
}
}
var threat_level = one
var action = If(threat_level == four).then(
Option1()
).else(
Option2()
)
say action.result
threat_level = four
var action2 = If(threat_level == four).then(
Option1()
).else(
Option2()
)
say action2.result